import { channels } from '@/api/navbar'
export default {
  /*
1:state中定义一个数据用于存储navbar的列表数据
2：mutations中定义方法用于修改列表数据
3：在actions中调用接口获取数据并存储
    api/navbar.js   定义api  导入调用
4：触发actions调用接口
5：页面渲染
*/

  namespaced: true,
  state: {
    list: [], // navbar列表数据
    currIndex: 0 // 默认选中项
  },
  mutations: {
    SETLIST (state, value) {
      state.list = value
    },
    // 更改默认选中项
    SETCURRINDEX (state, value) {
      state.currIndex = value
    }
  },
  actions: {
    // 调用接口获取navbar列表数据并存储
    async getList (ctx) {
      /*
      ctx:{
        state,getters,commit,dispatch,rootState,rootGetters

      }
      */

      const res = await channels()
      ctx.commit('SETLIST', res.data.channels)
      // 这个地方是肯定获取到列表数据了
      // 当前模块调用其它模块的actions方法
      //  ctx.dispatch('模块名/方法名',参数,{root:true})
      const id = ctx.state.list[ctx.state.currIndex].id
      ctx.dispatch('newsList/getNews', id, { root: true })
      // console.log(res)
    }
  },
  getters: {}
}
